Merge "Do not concat exception class name in Timestamp compat"
authorjenkins-bot <jenkins-bot@gerrit.wikimedia.org>
Fri, 2 Feb 2018 21:38:29 +0000 (21:38 +0000)
committerGerrit Code Review <gerrit@wikimedia.org>
Fri, 2 Feb 2018 21:38:29 +0000 (21:38 +0000)
includes/compat/Timestamp.php
tests/phpunit/includes/utils/ClassCollectorTest.php

index bd25432..63b87ae 100644 (file)
@@ -7,12 +7,12 @@
 // loading context. This file will then register the alias and, as class_alias() does
 // by default, it will trigger a plain autoload for the destination class.
 
-// The below uses string concatenation for the alias to avoid being seen by ClassCollector,
-// which would insist on adding it to autoload.php, after which AutoLoaderTest will
+// The below uses a namespaced class reference, to to avoid being seen by ClassCollector,
+// which would otherwise add it to autoload.php, after which AutoLoaderTest will
 // complain about class_alias() not being in the target class file.
 
 /**
  * @deprecated since 1.29
  * @since 1.20
  */
-class_alias( Wikimedia\Timestamp\TimestampException::class, 'Timestamp' . 'Exception' );
+class_alias( Wikimedia\Timestamp\TimestampException::class, 'TimestampException' );
index 8e07b5e..796d459 100644 (file)
@@ -33,6 +33,12 @@ class ClassCollectorTest extends PHPUnit_Framework_TestCase {
                                "class_alias( Foo::class, 'Bar' );",
                                [ 'Bar' ],
                        ],
+                       [
+                               // Namespaced class is not currently supported. Must use namespace declaration
+                               // earlier in the file.
+                               "class_alias( Example\Foo::class, 'Bar' );",
+                               [],
+                       ],
                        [
                                "namespace Example;\nclass Foo {}\nclass_alias( Foo::class, 'Bar' );",
                                [ 'Example\Foo', 'Bar' ],